package com.macro.mall.portal.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;
import lombok.Data;

import java.util.Date;

/**
 * @Author：Minxiao-Hao
 * @Description:
 * @name：UmscComment
 * @Date：2024/10/26 13:35
 */
@Data
public class UmsComment {

    /**
     * 评论id
     */
    private Integer id;

    /**
     * 订单id
     */
    @NotNull(message = "订单ID不能为空")
    private Integer orderId;

    /**
     * skuId
     */
    @NotNull(message = "SKU ID不能为空")
    private Integer skuId;

    /**
     * 商品评价等级
     */
    @Min(value = 1, message = "评价等级必须大于或等于1")
    @Max(value = 5, message = "评价等级必须小于或等于5")
    private Integer skuLevel;

    /**
     * 快递包装等级
     */
    @Min(value = 1, message = "快递包装等级必须大于或等于1")
    @Max(value = 5, message = "快递包装等级必须小于或等于5")
    private Integer skuExpressPackaging;

    /**
     * 送货速度等级
     */
    @Min(value = 1, message = "送货速度等级必须大于或等于1")
    @Max(value = 5, message = "送货速度等级必须小于或等于5")
    private Integer skuDeliverySpeed;

    /**
     * 配送员服务等级
     */
    @Min(value = 1, message = "配送员服务等级必须大于或等于1")
    @Max(value = 5, message = "配送员服务等级必须小于或等于5")
    private Integer skuDistributionService;

    /**
     * 评论内容
     */
    @NotEmpty( message = "评论内容不能为空")
    private String content;

    /**
     * 评论人
     */
    @NotBlank(message = "评论人不能为空")
    private String createBy;

    /**
     * 评论时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 状态
     */
    private Integer status;

}

